Efficient predictive image parameter estimation

ABSTRACT

The invention relates to a method for recursively estimating local vectors from at least one picture taken from an image sequence. To reduce the computational complexity of the estimation method without deteriorating its accuracy, it is proposed that the method comprises the steps of generating a first set of candidate vectors under at least partial use of recursion, selecting candidate vectors from the first set of candidate vectors according to a first criterion to form a smaller second set of candidate vectors, evaluating the candidate vectors of the second set of candidate vectors for a group of pixels based on a second criterion, determining the best vectors from the second set of candidate vectors according to said second criterion and assigning said determined best vectors to a group of pixels that is related to the group of pixels the candidate vectors of the second set of candidate vectors were evaluated for. The invention further relates to a device for recursively estimating local vectors from at least one picture taken from an image sequence, and to a computer program product comprising software code portions for recursively estimating local vectors from at east one picture taken from an image sequence.

The invention relates to a method for recursively estimating localvectors from at least one picture taken from an image sequence,comprising the steps of generating a first set of candidate vectorsunder at least partial use of recursion, selecting candidate vectorsfrom the first set of candidate vectors according to a first criterionto form a smaller second set of candidate vectors, evaluating thecandidate vectors of the second set of candidate vectors for a group ofpixels based on a second criterion, determining the best vectors fromthe second set of candidate vectors according to said second criterionand assigning said determined best vectors to a group of pixels that isrelated to the group of pixels the candidate vectors of the second setof candidate vectors were evaluated for. The invention further relatesto a device for recursively estimating local vectors from at least onepicture taken from an image sequence, and to a computer program productcomprising software code portions for recursively estimating localvectors from at least one picture taken from an image sequence.

Estimation of local vectors from image data is required for a broadrange of image processing applications, such as coding/compression,noise reduction, object tracking and scan rate conversion. In a videocoding framework such as MPEG or H.261, local vectors are represented bymotion vectors that determine motion (or object displacement) from oneimage to another. Estimation of motion vectors can for instance be usedfor motion-compensated predictive coding. Since one picture in an imageis normally very similar to a displaced copy of its predecessors,encoding estimated motion vector data together with information on thedifference between the actual image and its prediction either in thepixel- or DCT-domain allows to vastly reduce the temporal redundancy inthe coded signal.

Further examples for the estimation of local vectors comprise methods tosegment an image in areas with similar spatial characteristics (objectsegmentation), where the local vectors then represent a quantitativemeasure for the spatial characteristics, and methods to estimate themotion model for image segments (objects), where the components of thelocal vectors then contain the parameters of the motion model.

State-of-the-art techniques to estimate local vectors from image datausually apply some kind of Block Matching Algorithm (BMA), where animage is decomposed in blocks of fixed or variable size. Quite as well,the image can be decomposed in its dominant objects instead of itsblocks (object segmentation), so that the subsequent description equallywell holds for objects instead of blocks. For each block of the currentimage, a similar block in the previous image is searched, where asimilarity measure is applied to identify the previous block mostsimilar to the current block. The local vector associated to the blockof the previous image, for which the largest similarity was determined,then represents the local vector associated to the pixels of the currentblock. Note that, when calculating the similarity measure, not allpixels of the two blocks which are to be compared have to be evaluated.E.g., the blocks can be spatially sub-sampled, so that only each k-thpixel of both blocks is considered for the evaluation of the similaritymeasure.

To reduce the computational effort encountered when trying to check thesimilarity of the current block with all blocks in a previous image,local vectors are generally estimated by prediction, i.e. by evaluatingthe similarity measure only for a limited number of so-called candidatevectors associated to blocks in the neighboring area of the currentblock.

U.S. Pat. No. 5,072,293 discloses such a BMA, where predictions from a3D neighborhood are used as candidate vectors for motion vectorestimation. The set of candidate motion vectors comprises both spatial(2D) and temporal (1D) predictions of motion vectors, the best of whichis determined for each block recursively. The technique is recursive inthat at least one candidate motion vector in the set of candidate motionvectors for a block in the current image n depends on already determinedmotion vectors of other blocks in the image n (spatial predictions) orin the preceding image n-1 (temporal predictions). This recursiveestimation technique implicitly assumes that objects are larger than ablock, so that the motion vector can be found in at least one of thespatial predictions from neighboring blocks. Furthermore, inertia ofobjects is assumed, enabling the estimation technique to use temporalpredictions as well, which is especially helpful when no spatialpredictions are available yet due to causality. Based on bothassumptions, previously found motion vectors are thus recursivelyoptimized.

In recursive BMAs, the composition of the set of candidate vectors for ablock, for which the similarity measure has to be evaluated in eachrecursion step, determines the accuracy and convergence speed of therecursive motion estimation technique, but also its computationalcomplexity. To assure accurate motion vector estimation, a large set ofcandidate motion vectors has to be chosen, which leads to an increasedcomputational complexity.

It is thus the object of the invention to provide a recursive method foraccurate estimation of local vectors with reduced complexity and fastconvergence.

To solve the object of the invention it is proposed that the method forrecursively estimating local vectors from at least one picture takenfrom an image sequence comprises the steps of generating a first set ofcandidate vectors under at least partial use of recursion, selectingcandidate vectors from the first set of candidate vectors according to afirst criterion to form a smaller second set of candidate vectors,evaluating the candidate vectors of the second set of candidate vectorsfor a group of pixels based on a second criterion, determining the bestvectors from the second set of candidate vectors according to saidsecond criterion and assigning said determined best vectors to a groupof pixels that is related to the group of pixels the candidate vectorsof the second set of candidate vectors were evaluated for.

By reducing the size of the first set of candidate vectors according tothe first criterion, the similarity measure according to the secondcriterion has to be evaluated for less candidate vectors, so that thecomputational complexity can be vastly decreased as compared tostate-of-the-art estimators, where the similarity measure has to beevaluated for all candidate vectors of the first set of candidatevectors. The first criterion has a low computational complexity ascompared to the second criterion and controls both accuracy andconvergence of the estimator. The great advantage of the proposed methodis that a large first set of candidate vectors can be used, while thepre-selection method picks the most promising from that set for theactual evaluation of the similarity measure. The results require hardlymore calculations than necessary for an identical state-of-the-art localvector estimator with a reduced first set of candidate vectors, but thechances of having promising candidates amongst the vectors for which thesimilarity measure is evaluated have significantly increased.

A further advantage of the method becomes clear when considering adedicated hardware implementation. Such an implementation often cannotprofit from an operations count which is low on the average. It has tobe designed for the worst case situation. Now, with a limited first setof candidate vectors, there is a good chance that the number of actuallydifferent candidate vectors is lower than the capacity of the hardware.With a larger first set followed by a pre-selection module as proposedin this invention this chance can be much decreased. This leads to amore optimal use of the capacity of the hardware.

Optionally the second set of candidate motion vectors is extended withcandidate motion vectors which are not comprised by the first set ofmotion vectors. E.g. the null-vector, i.e. no motion, is added or acandidate motion vector which is based on the median of the selectedmotion vectors of the first set of motion vectors.

The candidate vectors in the first set of candidate vectors arepreferably spatially and/or temporally predicted based on alreadydetermined estimated local vectors and/or the zero vector and/or updatevectors, which are either random vectors or belong to a limited fixedset of update vectors. Assuming that objects in a picture of an imagesequence are larger than a block and have inertia, local vectors of acurrent block are quite likely to be similar to already determined localvectors in other neighboring blocks of the current picture around thecurrent block (spatial predictions) or to already determined localvectors of neighboring blocks in the previous image (temporalpredictions). The zero vector as candidate vector is particularlyhelpful for picture parts without motion, whereas the addition of updatevectors to spatially and/or temporally predicted local vectors solvesthe problem that in the initialization phase, all local vectors on whichthe prediction could be based are zero.

According to the invention, the local vectors preferably representmotion vectors that describe the motion of groups of pixels in picturesof an image sequence.

At least one of said motion vectors may be predicted according to aparametric 2D global motion model. For instance, expressing a motionvector as 2D first-order equation, camera motion such as panning,tilting, travelling and zooming can be precisely modeled. This type ofmotion has a regular character, causing smooth motion vectors ascompared to object motion. Whereas zooming generates motion vectors thatlinearly change with the spatial position, panning, tilting andtravelling generate a uniform motion vector for the entire picture. Ifsuch global motion occurs, it can be more efficient to estimate theparameters of the parametric 2D global motion model instead of themotion vectors themselves.

The local vectors can also represent sets of parameters that describethe motion model of a group of pixels in pictures of an image sequence.

As a further alternative, the local vectors may represent spatialfeatures of a group of pixels, in particular texture, dynamic range,color, or average value.

According to the invention, the second criterion can be implemented as amatch error criterion such as the Sum of Absolute Differences (SAD)criterion, or as the Mean Square Error (MSE) criterion. In the contextof motion vector estimation, then the SAD or MSE between pixels orgroups of pixels of the predicted and the current image is calculated.In contrast, in the context of image segmentation, where the componentsof the local vectors represent spatial features such as texture, dynamicrange, color, or average luminance value of an image segment, the SADand MSE criteria are directly applied to the components of the localvectors and the corresponding spatial features that are measured fromthe local image content.

The selection of candidate vectors from the first set of candidatevectors to form a smaller second set of candidate vectors is suitablybased on a ranking of the corresponding vector components of thecandidate vectors in the first set of candidate vectors.

The selection of candidate vectors from the first set of candidatevectors to form a smaller second set of candidate vectors can also bebased on a ranking of the candidate vectors in the first set ofcandidate vectors.

In a preferred embodiment of the invention, the second set of candidatevectors contains at least one extreme and/or one least extreme candidatevector of the first set of candidate vectors according to the firstcriterion.

As the least extreme candidate vector is often a good one in theconverged situation, while the more extreme vectors are particularlyhelpful in the un-converged situation, it makes sense to select onlythese for evaluation with the subsequent, computationally moreexpensive, second criterion. Adding the zero vector (indicating nomotion) as an extreme vector also makes sense, as the interpolation ofstationary picture parts is critical in many applications of motionvectors.

The extreme candidate vectors are preferably the two vectors with thelargest distance to the average vector of a number of candidate vectorsof the first set of candidate vectors or with the largest distance to aspatial prediction vector in the first set of candidate vectors, or thelongest and the shortest vector, or the largest distance to the rest ofthe candidate vectors of the first set of candidate vectors.

The least extreme candidate vector is preferably the vector with thesmallest distance to the average vector of a number of candidate vectorsof the first set of candidate vectors or with the smallest distance to aspatial prediction vector in the first set of candidate vectors, or thevector median.

A further preferred embodiment of the invention is a device forrecursively estimating local vectors from at least one picture takenfrom an image sequence, consisting of means to generate a first set ofcandidate vectors under at least partial use of recursion, means toselect candidate vectors from the first set of candidate vectorsaccording to a first criterion to form a smaller second set of candidatevectors, means to evaluate the candidate vectors of the second set ofcandidate vectors for a group of pixels based on a second criterion,means to determine the best vectors from the second set of candidatevectors according to said second criterion and means to assign saiddetermined best vectors to a group of pixels that is related to thegroup of pixels the candidate vectors of the second set of candidatevectors were evaluated for.

A last preferred embodiment of the present invention is a computerprogram product directly loadable into the internal memory of a digitalcomputer, comprising software code portions for performing the steps ofgenerating a first set of candidate vectors under at least partial useof recursion, selecting candidate vectors from the first set ofcandidate vectors according to a first criterion to form a smallersecond set of candidate vectors, evaluating the candidate vectors of thesecond set of candidate vectors for a group of pixels based on a secondcriterion, determining the best vectors from the second set of candidatevectors according to said second criterion and assigning said determinedbest vectors to a group of pixels that is related to the group of pixelsthe candidate vectors of the second set of candidate vectors wereevaluated for, when said product is run on a computer.

These and other aspects of the invention will be apparent from andelucidated with reference to the embodiments described hereinafter. Inthe figures show:

FIG. 1: a first embodiment of a recursive BMA according to theinvention, where motion vectors are estimated as local vectors, and

FIG. 2: a second embodiment of a recursive BMA according to theinvention, where the estimation of motion vectors as local vectors isenhanced by integrating a candidate motion vector that is predictedaccording to a global motion model.

FIG. 1 shows a recursive BMA for the estimation of motion vectorsaccording to a first embodiment of the invention.

Let {right arrow over (D)}(n) denote the field of motion vectors betweenthe current image I({right arrow over (x)},n) and the previous imageI({right arrow over (x)},n−1) of an image sequence, where {right arrowover (x)}=[x,y]^(T) is the pixel grid vector. Further let {right arrowover (D)}({right arrow over (X)},n)∈ {right arrow over (D)}(n) indicatethe motion vector assigned to an X×Y block B({right arrow over (X)}) ofpixels in the current image I({right arrow over (x)},n), where thecenter of the block is identified by the block grid vector {right arrowover (X)}=[X_(x),X_(y)]^(T).

As shown in FIG. 1, the prediction memory instance 1 outputs a set ofcandidate vectors${{CS}\left( {\overset{\rightarrow}{X},n} \right)} = \left\{ {{{\overset{\rightarrow}{C} \in C^{\max}}❘\overset{\rightarrow}{C}} = {{{\overset{\rightarrow}{D}\left( {{\overset{\rightarrow}{X} + \begin{pmatrix}{kX} \\{- Y}\end{pmatrix}},n} \right)}\bigvee\overset{\rightarrow}{C}} = {{{\overset{\rightarrow}{D}\left( {{\overset{\rightarrow}{X} + \begin{pmatrix}{- X} \\0\end{pmatrix}},n} \right)}\bigvee\overset{\rightarrow}{C}} = {\overset{\rightarrow}{D}\left( {{\overset{\rightarrow}{X} + \begin{pmatrix}{iX} \\{jY}\end{pmatrix}},{n - 1}} \right)}}}} \right\}$k = −1, 0, 1;  i = −1, 0, 1;  j = 0, 1,where the candidate vectors {right arrow over (C)}=[C_(x),C_(y)]^(T) arelimited to the discrete candidate setCS ^(max) ={{right arrow over (C)}|−N≦C _(x) ≦N,−M≦C _(y) ≦M },with constant, pre-defined integers N and M.

Note that there exists a variety of different choices on the compositionof the set of candidate vectors CS({right arrow over (X)},n) and theupdating procedure presented in the sequel of the description of thispreferred embodiment. This specific embodiment, which assumes thatblocks in a picture are scanned from top left to bottom right andassumes temporal and/or spatial consistency, thus should only beregarded as an example for a much more general local vector estimationprinciple.

Either of the 4 spatial candidate vectors of the presented set ofcandidate vectors CS({right arrow over (X)},n), i.e. the vectors thatdepend only on the index k or are independent of all indices i, j, k, isthen fed to the update instance 2, where an update vector {right arrowover (U)}({right arrow over (X)},n) is added. Adding an update vector toone of the spatial candidate vectors contained in CS({right arrow over(X)},n) solves the problem that in the initialization phase of therecursion, all vectors equal the {right arrow over (0)} vector. Updatevectors can either be generated as noise vectors, or, simpler, be takenfrom a limited fixed update set stored in a look-up-table, such asUS _(i)({right arrow over (X)},n)={{right arrow over (0)},{right arrowover (y)} _(u) ,−{right arrow over (y)} _(u) ,{right arrow over (x)}_(u) ,−{right arrow over (x)} _(u),2{right arrow over (y)} _(u),−2{right arrow over (y)} _(u) ,3{right arrow over (xx)} _(u) ,−3{rightarrow over (x)} _(u)},if pixel resolution with integer update values is desired, or such asUS _(f)({right arrow over (X)},n)={¼{right arrow over (y)} _(u),−¼{right arrow over (y)} _(n) ,¼{right arrow over (x)} _(u),−¼{rightarrow over (x)} _(u)}for quarter pixel resolution with fractional update values.

In this context, {right arrow over (x)}_(u)=[1,0]^(T) and {right arrowover (y)}_(u)=[0,1]_(T) denote the 2D orthonormal basis vectors.

As shown in FIG. 1, an update generator instance 3 consisting of amodulo-p-counter 4 and a look-up-table 5 outputs the required updatevectors {right arrow over (U)}({right arrow over (X)},n), which arecyclic in p, from the set of update values. The modulo-p-counter istriggered by the current block count N_(b1). Furthermore, the integer pcan be chosen to be no factor of the number of blocks in a picture, sothat a coupling between update vector and spatial position within theimage is prevented.

The temporal candidate vectors as output from the prediction memoryinstance 1 and the spatial candidate vectors, either of which has beenupdated in the update instance 2, are input into the pre-selectioninstance 6. The pre-selection instance performs a ranking of thecandidate vectors {right arrow over (C)} contained in the set CS({rightarrow over (X)},n), e.g. by determining the distance of all candidatevectors to the average vector of all candidate vectors in the setCS({right arrow over (X)},n). As an alternative, the candidate vectorsare sorted by length (magnitude). The pre-selection instance 6 thendetermines two extreme candidate vectors according to the ranking, e.g.the two vectors with the largest distance to the average vector or thelongest and the smallest vectors. The pre-selection instance 6 alsodetermines the least extreme of the candidate vectors {right arrow over(C)}, e.g. the vector with the smallest distance to the average vector.Alternatively, the median vector can be determined as least extremevector. The most and least extreme vectors as determined by thepre-selection instance 6 constitute the set CS_(red)({right arrow over(X)},n), which is forwarded to the best vector selection instance 7. Inthis exemplary set-up, the set of candidate vectors CS({right arrow over(X)},n) comprising 10 candidate vectors is thus reduced to a set of 3most/least extreme candidate vectors contained in CS_(red)({right arrowover (X)},n).

The best vector selection instance 7 as depicted in FIG. 1 determinesthe similarity between the considered block B({right arrow over (X)})centered at block grid vector {right arrow over (X)} in the currentimage I({right arrow over (x)},n) and the block in the previous imageI({right arrow over (x)},n−1) associated to each candidate vector in theset CS_(red)({right arrow over (X)},n) by computing the similaritymeasure (e.g. the Sum of Absolute Differences, SAD):${{ɛ\left( {\overset{\rightarrow}{C},\overset{\rightarrow}{X},n} \right)} = {{\sum\limits_{\overset{\rightarrow}{x} \in {B{(\overset{\rightarrow}{X})}}}{{{I\left( {\overset{\rightarrow}{x},n} \right)} - {I\left( {{\overset{\rightarrow}{x} - \overset{\rightarrow}{C}},{n - 1}} \right)}}}} + {\alpha{{\overset{\rightarrow}{U}\left( {\overset{\rightarrow}{X},n} \right)}}}}},$where ∥{right arrow over (U)}({right arrow over (X)},n)∥ is the lengthof the update vector, α is a constant, and the matching error is summedover a block {right arrow over (B)}({right arrow over (X)}), at position{right arrow over (X)}=[X_(x),X_(y)]^(T) of the block grid with a widthX and height Y, defined asB({right arrow over (X)})={{right arrow over (x)}|X _(x) −X/2≦x ≦X _(x)+X/2, X _(y) −Y/2≦y≦X _(y) +Y/2}.Alternatively, a different similarity measure such as the Mean SquareError (MSE) can be applied as second criterion as well. Note that,instead of evaluating the similarity measure for all pixels {right arrowover (x)}=[x,y]^(T) on the pixel grid within the block B({right arrowover (X)}), spatial sub-sampling in both x- and y-direction can beperformed before evaluating the similarity measure to reduce the numberof computations, where, of course, some accuracy is lost.

Irrespective of the applied second criterion and sampling technique, thebest vector selection instance 7 further selects the candidate motionvector leading to the largest similarity measure:{right arrow over (D)}({right arrow over (X)},n)={{right arrow over(C)}∈CS _(red)({right arrow over (X)},n|ε({right arrow over (C)},{rightarrow over (X)},n)<ε({right arrow over (V)},{right arrow over(X)},n)}∀{{right arrow over (V)}∈CS _(red)({right arrow over (X+EE,n)}and assigns this best candidate motion vector to all pixels at positions{right arrow over (x)}=[x,y]^(T) on the pixel grid within the blockB({right arrow over (X)}) (even if spatial sub-sampling was performed toreduce the computational effort in evaluating the similarity measure).

The best motion vector {right arrow over (D)}({right arrow over (X)},n)then is output as result of the motion estimation for block B({rightarrow over (X)}), but also stored in the prediction memory instance 7for use in subsequent recursion steps.

FIG. 2 shows a second preferred embodiment of the present invention,where motion vectors are estimated as local vectors and where therecursive estimation is enhanced by integrating a candidate motionvector that is predicted according to a global motion model.

Basically, the set up of FIG. 2 evolves from the set-up of FIG. 1, inthat the set-up of FIG. 2 comprises a prediction memory instance 1, anupdate instance 2, an update generator instance 3, composed of amod-p-count 4 and a look-up-table 5, a pre-selection instance 6 and abest vector selection instance 7.

As in the first preferred embodiment of the invention shown in FIG. 1, afirst set of candidate motion vectors CS({right arrow over (X)},n) isspatially and temporally predicted by the prediction memory instance 1and input to the pre-selection instance 6, where either of the spatialcandidates is previously updated in the update instance 2 with cyclicupdate vectors {right arrow over (U)}({right arrow over (X)},n) that aregenerated by the update generator instance 3. The most/least extremecandidate vectors CS_(red)({right arrow over (X)},n) as determined bythe pre-selection instance 6 are then subject to evaluation with thesimilarity measure in the best vector selection instance 7, where thebest motion vector {right arrow over (D)}({right arrow over (X)},n) forthe block B({right arrow over (X)}) is determined and stored in theprediction memory 1 for the next recursion step.

However, the second preferred embodiment depicted in FIG. 2 differs fromthe first preferred embodiment shown in FIG. 1 in that the first set ofcandidate vectors additionally contains a candidate motion vector thatcan be described with a 2D first-order linear equation with threeparameters p₁(n),p₂(n) and p₃(n) according to${{{\overset{\rightarrow}{D}}_{g}\left( {\overset{\rightarrow}{X},n} \right)} = \begin{pmatrix}{{p_{1}(n)} + {{p_{3}(n)}x}} \\{{p_{2}(n)} + {{p_{3}(n)}y}}\end{pmatrix}},$where p₁(n) describes panning, p₂(n) describes tilting and p₃(n)describes zooming of the camera. This global motion vector model thusassumes that motion has a very regular character causing very smoothvelocities, i.e. motion vectors. Zooming with the camera will generatemotion vectors that linearly change with the spatial position. Panning,tilting or travelling with a camera, on the other hand, will generate auniform motion vector for the entire screen. Extending the model to asix parameter model additionally enables the description of vectorfields due to rotations. This type of motion is not very likely due tocamera motion, but can occur in other circumstances.

According to FIG. 2, the parameters of the motion model p₁(n),p₂(n) andp₃(n) are e.g. determined by a micro processor 8 based on sample vectorsfrom the prediction memory 1. There are many options to extract theseparameters of a global motion model from an estimated motion vectorfield. In the present preferred embodiment where the model is integratedin the recursive BMA, it makes sense to start from already availablemotion vectors, i.e. the vectors available in the temporal predictionmemory. To keep the operations count low, it is furthermore attractiveto use a limited set of the vectors available in this memory only.

The estimated parameters of the motion model p₁(n), p₂(n) and p₃(n) arethen put into the local candidate calculation instance 9, where themotion vector {right arrow over (D)}_(g)({right arrow over (X)},n) isconstructed and subsequently, without updating, put into thepre-selection instance 6, together with the spatial (some of which maybe updated) and temporal predictions from the prediction memory instance1.

1. Method for recursively estimating local vectors from at least onepicture taken from an image sequence, comprising the steps of generatinga first set of candidate vectors under at least partial use ofrecursion, selecting candidate vectors from the first set of candidatevectors according to a first criterion to form a smaller second set ofcandidate vectors, evaluating the candidate vectors of the second set ofcandidate vectors for a group of pixels based on a second criterion,determining the best vectors from the second set of candidate vectorsaccording to said second criterion and assigning said determined bestvectors to a group of pixels that is related to the group of pixels thecandidate vectors of the second set of candidate vectors were evaluatedfor.
 2. Method according to claim 1, characterized in that the candidatevectors in said first set of candidate vectors are spatially and/ortemporally predicted based on already determined estimated local vectorsand/or the zero vector and/or update vectors, which are either randomvectors or belong to a limited fixed set of update vectors.
 3. Methodaccording to claim 1, characterized in that the local vectors are motionvectors that describe the motion of groups of pixels in pictures of animage sequence.
 4. Method according to claim 3, characterized in that atleast one of said motion vectors is predicted according to a parametric2D global motion model.
 5. Method according to claim 1, characterized inthat the local vectors represent sets of parameters that describe themotion model of a group of pixels in pictures of an image sequence. 6.Method according to claim 1, characterized in that the local vectorsrepresent spatial features of a group of pixels, in particular texture,dynamic range, color or average value.
 7. Method according to claim 1,characterized in that the second criterion is a match error criterionsuch as the Sum of Absolute Differences (SAD) criterion, or a meansquare error criterion.
 8. Method according to claim 1, characterized inthat the selection of candidate vectors from the first set of candidatevectors to form a smaller second set of candidate vectors is based on aranking of the corresponding vector components of the candidate vectorsin the first set of candidate vectors.
 9. Method according to claim 1,characterized in that the selection of candidate vectors from the firstset of candidate vectors to form a smaller second set of candidatevectors is based on a ranking of the candidate vectors in the first setof candidate vectors.
 10. Method according to claim 1, characterized inthat the second set of candidate vectors contains at least one extremeand/or one least extreme candidate vector of the first set of candidatevectors according to the first criterion.
 11. Method according to claim10, characterized in that the extreme candidate vectors are the twovectors with the largest distance to the average vector of a number ofcandidate vectors of the first set of candidate vectors or with thelargest distance to a spatial prediction vector in the first set ofcandidate vectors, or the longest and the shortest vector, or thelargest distance to the rest of the candidate vectors of the first setof candidate vectors.
 12. Method according to claim 10, characterized inthat the least extreme candidate vector is the vector with the smallestdistance to the average vector of a number of candidate vectors of thefirst set of candidate vectors or with the smallest distance to aspatial prediction vector in the first set of candidate vectors, or thevector median.
 13. Device for recursively estimating local vectors fromat least one picture taken from an image sequence, consisting of: meansto generate a first set of candidate vectors under at least partial useof recursion, means to select candidate vectors from the first set ofcandidate vectors according to a first criterion to form a smallersecond set of candidate vectors, means to evaluate the candidate vectorsof the second set of candidate vectors for a group of pixels based on asecond criterion, means to determine the best vectors from the secondset of candidate vectors according to said second criterion and means toassign said determined best vectors to a group of pixels that is relatedto the group of pixels the candidate vectors of the second set ofcandidate vectors were evaluated for.
 14. A computer program productdirectly loadable into the internal memory of a digital computer,comprising software code portions for performing the steps of claim 1when said product is run on a computer.